package yang.itcode.utils;

public class ThreadUtil {
    // 定义一个ThreadLocal变量来存储每个线程的特定数据
    public static ThreadLocal<Integer> threadLocal = new ThreadLocal<>();

    /**
     * 设置当前线程的ID
     *
     * @param id 需要设置的线程ID
     */
    public static void setCurrentId(Integer id) {
        threadLocal.set(id);
    }

    /**
     * 获取当前线程的ID
     *
     * @return 当前线程的ID，如果未设置则返回null
     */
    public static Integer getCurrentId() {
        return threadLocal.get();
    }

    /**
     * 移除当前线程的ID
     * 这是为了避免内存泄漏，特别是在长时间运行的线程中
     */
    public static void removeCurrentId() {
        threadLocal.remove();
    }
}